﻿using Microsoft.Phone.Controls;
using System;
using System.Collections.Generic;
using System.Windows.Navigation;

namespace Reuse.WP7.Services {
	public interface INavigationService {
		Dictionary<string, Uri> WPRoutingTable { get; set; }

		bool CanGoBack { get; }
		bool Navigate( Uri source );
		bool Navigate( string route);

		void GoBack();
		event NavigatedEventHandler Navigated;
		event NavigatingCancelEventHandler Navigating;
		event EventHandler<ObscuredEventArgs> Obscured;
		bool RecoveredFromTombstoning { get; set; }
		void UpdateTombstonedPageTracking( Uri pageUri );
		bool DoesPageNeedtoRecoverFromTombstoning( Uri pageUri );
	}
}
